WARNING: This page was written some time ago and still needs considerable revision.

VRML - Virtual Reality Modelling Language

Introduction

VRML97 (or Vrml 2.0) is a language for the description of 3-dimensional scenes (worlds), including lighting, texturing and preferred viewpoints, together with mechanisms for interaction and animation. The creation of a VRML world description requires only a text-editor, although there are tools that produce VRML source-files as output. Viewing a VRML world/animation usually requires a VRML browser in association with a Web-browser although there are stand alone viewers. The basic VRML object is an IndexedFaceSet. However, simpler structures are also provided, such as Box, Sphere, Cylinder, Cone, ElevationGrid and Extrusion which require fewer parameters for their specification. An IndexedLineSet and Text are also provided. The VRML browser allows the user to view the world, to move around it, panning, zooming and revolving. Directional and point-source lighting can be specified both in position and colour. Surfaces can specified giving colour, reflectivity and texture. Preferred Viewpoints can be specified. Interpolators are provided which allow the author to create smooth changes in position, colour and rotation in animations. Sensors allow the user to interact with the scene. PROTOtyping allows the author to create new, reusable structures. Advanced control, outside that which is basic to a VRML world, can be supplied using Scripts that may, currently, be written in JavaScript or Java. Facilities also exist for the inclusion of sound and moving textures.

VRML has been around for some time but never reached its potential. This was probably because of the limitations of the earlier machines and video-cards. It was hoped that VRML would become universal and a vrml browser part of the standard equipment for every user. In the interim, the 3D world has adopted a variety of solutions but a universal standard, one that is actually used widely, still eludes.

Current work on a successor to VMRL, X3D, is nearing completion. Modelers are urged to migrate to the new standard. I have started to look into it but it remains to be seen whether this will fare any better than VRML. Currently, the few available viewers or browsers for the new specifications have deficiencies that will mean that, in the main, I will stick to the older systems for the time being.

Some useful general VRML exernal links:

Floppy's Web3D Guide or Floppy's VRML97 Tutorial. A little racy, written by someone who, though now an expert, was, at the time of starting to write it, still not too far along the learning curve. It contains one or two titbits which are not easily available elsewhere

and books:

"The Annotated VRML 2.0 Reference Manual"
Rikk Carey and Gavin Bell - Addison Wesley 1997
ISBN 0-201-41974-2

Not a tutorial but the current programmer's 'bible'. Written by the two most prominent architects of the VRML standard. This appears to be no longer in print but second hand copies are available.

"Late Night VRML 2.0 with Java"
B.Roehl et al. - ZD Press 1997
ISBN 1-56276-504-3

An advanced text, dealing with selected issues: Scripting, NURBS, Texturing, Multiuser environments, the Human Avatar etc.

"The VRML 2.0 Handbook"
Jed Hartman and Josie Wernecke et al. - Addison Wesley 1996
ISBN 0-201-47944-3

A good introductory text, dealing with most aspects. Unfortunately the principal and other Web-hosted examples are no-longer currently accessible. These were on the Silicon Graphics Cosmoware site. But since Silicon Graphics has withdrawn its support for VRML, internally and externally, the site is also gone.

The book is no longer in print but is available second hand.

Also a Newsgroup:

comp.lang.vrml
well worth subscribing to for discussion, news comment and help.
.

VRML Browsers

During the development of VRML and VRML applications, various browsers have been produced and had their adherents. Some browsers are now defunct; some are still in use but are no longer being supported and others are still 'live'. Cortona (current version 8.5) is a favourite and also Blaxun Contact. Cortona is currently being actively supported and developed. Each of them still, apparently, has its problems in certain areas, primarily with the EAI (External Authoring Interface) used for interaction with Java Applets and Applications.

BS Contact is favoured by many but is somewhat eccentric in my opinion.

Currently, I use Cortona3D in conjunction with Internet Explorer 11 on my desktop machine, running Windows 7. .

Current sources: (these are free although Cortona and Contact have annoying logos that intrude into the display area)
Cortona
Flux Player
CosmoPlayer
BS Contact


Page last modified: 18th June 2019